<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 给定整数数组 nums 和整数 k，请返回数组中第 k 个最大的元素。
        // 请注意，你需要找的是数组排序后的第 k 个最大的元素，而不是第 k 个不同的元素。
        var findKthLargest = function (nums, k) {
            nums = quickSort(nums);

            return nums[nums.length - k];
        };

        var quickSort = function (nums) {
            if (nums.length <= 1) {
                return nums;
            }

            // let pivot = nums[0];
            let baseIndex = parseInt(nums.length / 2);
            let pivot = nums.splice(baseIndex, 1)[0];
            let left = [],
                right = [];

            for (let i = 0; i < nums.length; i++) {
                if (nums[i] < pivot) {
                    left.push(nums[i]);
                } else {
                    right.push(nums[i]);
                }
            }

            return quickSort(left).concat([pivot], quickSort(right));
        }
    </script>
</body>

</html>